package com.bsg.upm.dto;

import java.io.Serializable;

/**
 * 用户数据传输对象
 * 
 * @author HCK
 *
 */
public class UserDto implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 用户名
	 */
	private String username;

	/**
	 * 用户姓名
	 */
	private String name;

	/**
	 * 联系电话
	 */
	private String telephone;

	/**
	 * 邮箱
	 */
	private String email;

	/**
	 * 所属单位
	 */
	private String company;

	/**
	 * 是否可用
	 */
	private Boolean enabled;

	/**
	 * 验证方式
	 */
	private String authType;

	/**
	 * 自动审批
	 */
	private Boolean autoApprove;

	/**
	 * 备用联系人
	 */
	private String alternateContact;

	/**
	 * 备用联系人电话
	 */
	private String alternateContactTel;

	/**
	 * 注册时间
	 */
	private String registerDatetime;

	/**
	 * 角色
	 */
	private UserRoleDto role;

	/**
	 * 用户组
	 */
	private UserGroupDto group;

	/**
	 * 获取用户名
	 * 
	 * @return username 用户名
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * 设置用户名
	 * 
	 * @param username
	 *            用户名
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	/**
	 * 获取用户姓名
	 * 
	 * @return name 用户姓名
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置用户姓名
	 * 
	 * @param name
	 *            用户姓名
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取联系电话
	 * 
	 * @return telephone 联系电话
	 */
	public String getTelephone() {
		return telephone;
	}

	/**
	 * 设置联系电话
	 * 
	 * @param telephone
	 *            联系电话
	 */
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	/**
	 * 获取邮箱
	 * 
	 * @return email 邮箱
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * 设置邮箱
	 * 
	 * @param email
	 *            邮箱
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * 获取所属单位
	 * 
	 * @return company 所属单位
	 */
	public String getCompany() {
		return company;
	}

	/**
	 * 设置所属单位
	 * 
	 * @param company
	 *            所属单位
	 */
	public void setCompany(String company) {
		this.company = company;
	}

	/**
	 * 获取是否可用
	 * 
	 * @return enabled 是否可用
	 */
	public Boolean getEnabled() {
		return enabled;
	}

	/**
	 * 设置是否可用
	 * 
	 * @param enabled
	 *            是否可用
	 */
	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	/**
	 * 获取验证方式
	 * 
	 * @return authType 验证方式
	 */
	public String getAuthType() {
		return authType;
	}

	/**
	 * 设置验证方式
	 * 
	 * @param authType
	 *            验证方式
	 */
	public void setAuthType(String authType) {
		this.authType = authType;
	}

	/**
	 * 获取自动审批
	 * 
	 * @return autoApprove 自动审批
	 */
	public Boolean getAutoApprove() {
		return autoApprove;
	}

	/**
	 * 设置自动审批
	 * 
	 * @param autoApprove
	 *            自动审批
	 */
	public void setAutoApprove(Boolean autoApprove) {
		this.autoApprove = autoApprove;
	}

	/**
	 * 获取备用联系人
	 * 
	 * @return alternateContact 备用联系人
	 */
	public String getAlternateContact() {
		return alternateContact;
	}

	/**
	 * 设置备用联系人
	 * 
	 * @param alternateContact
	 *            备用联系人
	 */
	public void setAlternateContact(String alternateContact) {
		this.alternateContact = alternateContact;
	}

	/**
	 * 获取备用联系人电话
	 * 
	 * @return alternateContactTel 备用联系人电话
	 */
	public String getAlternateContactTel() {
		return alternateContactTel;
	}

	/**
	 * 设置备用联系人电话
	 * 
	 * @param alternateContactTel
	 *            备用联系人电话
	 */
	public void setAlternateContactTel(String alternateContactTel) {
		this.alternateContactTel = alternateContactTel;
	}

	/**
	 * 获取注册时间
	 * 
	 * @return registerDatetime 注册时间
	 */
	public String getRegisterDatetime() {
		return registerDatetime;
	}

	/**
	 * 设置注册时间
	 * 
	 * @param registerDatetime
	 *            注册时间
	 */
	public void setRegisterDatetime(String registerDatetime) {
		this.registerDatetime = registerDatetime;
	}

	/**
	 * 获取角色
	 * 
	 * @return role 角色
	 */
	public UserRoleDto getRole() {
		return role;
	}

	/**
	 * 设置角色
	 * 
	 * @param role
	 *            角色
	 */
	public void setRole(UserRoleDto role) {
		this.role = role;
	}

	/**
	 * 获取用户组
	 * 
	 * @return group 用户组
	 */
	public UserGroupDto getGroup() {
		return group;
	}

	/**
	 * 设置用户组
	 * 
	 * @param group
	 *            用户组
	 */
	public void setGroup(UserGroupDto group) {
		this.group = group;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "UserDto [username=" + username + ", name=" + name + ", telephone=" + telephone + ", email=" + email
				+ ", company=" + company + ", enabled=" + enabled + ", authType=" + authType + ", autoApprove="
				+ autoApprove + ", alternateContact=" + alternateContact + ", alternateContactTel="
				+ alternateContactTel + ", registerDatetime=" + registerDatetime + ", role=" + role + ", group=" + group
				+ "]";
	}

}
